package com.xiangxg.jvm.memory;

import net.sf.cglib.proxy.Enhancer;
import net.sf.cglib.proxy.MethodInterceptor;

/*
    方法区产生内存溢出错误
    -XX:MaxMetaspaceSize=10m

    查看虚拟机启动参数
    jcmd pid VM.flags
    查看JVM命令行启动参数
    jcmd pid VM.command_line
    生成堆dump文件
    jcmd pid GC.heap_dump C:\360Downloads\dump.hprof
    查看帮助
    jcmd pid help
    查看线程堆栈信息
    jcmd pid Thread.print
    查看类加载信息
    jcmd pid GC.class_histogram
    查看JVM性能相关参数
    jcmd pid PerfCounter.print

    jstack:查看或者导出JAVA应用程序中线程的堆栈信息

    jmc: java Mission Control
    jfr:java Flight Recorder java飞行记录器
    jhat:堆转储文件分析
    打印heap的概要信息，GC使用的算法，heap（堆）的配置及JVM堆内存的使用情况
    jmap -heap pid

 */
public class MyTest4 {
    public static void main(String[] args) {
        for(; ; ){
            Enhancer enhancer = new Enhancer();
            enhancer.setSuperclass(MyTest4.class);
            enhancer.setUseCache(false);
            enhancer.setCallback((MethodInterceptor)(obj, method, args1, proxy)->
                    proxy.invokeSuper(obj,args1));
            enhancer.create();
        }
    }
}
